/**
 * @desc 格式化日期字符串
 * @param { Nubmer} - 时间戳
 * @returns { String } 格式化后的日期字符串
 */
export function formatDate(timestamp) {
  // 补全为13位
  let arrTimestamp = (timestamp + "").split("");
  for (let start = 0; start < 13; start++) {
    if (!arrTimestamp[start]) {
      arrTimestamp[start] = "0";
    }
  }
  timestamp = arrTimestamp.join("") * 1;
  let minute = 1000 * 60;
  let hour = minute * 60;
  let day = hour * 24;
  let month = day * 30;
  let now = new Date().getTime();
  let diffValue = now - timestamp;
  // 如果本地时间反而小于变量时间
  if (diffValue < 0) {
    return "不久前";
  }
  // 计算差异时间的量级
  let monthC = diffValue / month;
  let weekC = diffValue / (7 * day);
  let dayC = diffValue / day;
  let hourC = diffValue / hour;
  let minC = diffValue / minute;
  // 数值补0方法
  let zero = function (value) {
    if (value < 10) {
      return "0" + value;
    }
    return value;
  };
  // 使用
//   if (monthC > 4) {
//     // 超过1年，直接显示年月日
//     return (function () {
//       let date = new Date(timestamp);
//       return (
//         date.getFullYear() +
//         "年" +
//         zero(date.getMonth() + 1) +
//         "月" +
//         zero(date.getDate()) +
//         "日"
//       );
//     })();
//   }
  // else if (monthC >= 1) {
  //   return parseInt(monthC) + '月前';
  // }
  // else if (weekC >= 1) {
  //   return parseInt(weekC) + '周前';
  // }
   if (dayC >= 1) {
    //   return parseInt(dayC) + '天前';
    let date = new Date(timestamp);
    return (
      date.getFullYear() +
      "-" +
      zero(date.getMonth() + 1) +
      "-" +
      zero(date.getDate()) +
      ""
    );
  } else if (hourC >= 1) {
    return parseInt(hourC) + "小时前";
  } else if (minC >= 1) {
    return parseInt(minC) + "分钟前";
  }
  return "刚刚";
}
